<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入vue2.0版本 -->
    <script src="../js/vue.js"></script>
    <title>何为数据代理</title>
</head>
<!-- 数据代理：通过一个对象代理对两一个对象中属性得操作（读/写）-->

<body>
    <div id="root"></div>
    <script>
        Vue.config.productionTip = false; //以阻止vue在启动时生成生产提示
        // 以下是最简单的数据代理用例 obj看作底层，obj2看作我们能操作的，我们把x属性关联起来，两个变成了响应式的。
        // 无论我们改哪个另外的去访问的时候都变化成一致的
        let obj = {
            x: 100
        }
        let obj2 = {
            y: 200
        }

        Object.defineProperty(obj2, 'x', {
            get() {
                return obj.x
            },
            set(value) {
                obj.x = value
            }
        })
    </script>
</body>

</html>